//import 'dart:async';
//
//import 'package:flutter/material.dart';
//import 'package:osc/data/repository/repository.dart';
//import 'package:osc/models/entity/news.dart';
//import 'package:osc/res/dimens.dart';
//import 'package:osc/utils/navigator_util.dart';
//import 'package:osc/utils/pd_util.dart';
//
//const MAX_COUNT = 0x7fffffff;
//
/////
///// Item的点击事件
/////
//typedef void OnItemClick(int position, News entity);
//
/////
///// 自定义ViewPager的每个页面显示
/////
//typedef Widget CustomBuild(int position, News entity);
//
//class PdNotifyWidget extends StatefulWidget {
//  final double height;
//  final int duration;
//  final double pointRadius;
//  final Color selectedColor;
//  final Color unSelectedColor;
//  final Color textBackgroundColor;
//  final bool isHorizontal;
//
//  final OnItemClick onItemClick;
//  final CustomBuild build;
//
//  PdNotifyWidget(
//      {Key key,
//        this.height = 36,
//        this.duration = 5000,
//        this.pointRadius = 3.0,
//        this.selectedColor = Colors.white,
//        this.unSelectedColor = Colors.black54,
//        this.textBackgroundColor = Colors.black26,
//        this.isHorizontal = false,
//        this.onItemClick,
//        this.build})
//      : super(key: key);
//
//  @override
//  PdNotifyState createState() {
//    return new PdNotifyState();
//  }
//}
//
//class PdNotifyState extends State<PdNotifyWidget> {
//  List<News> datas;
//  Timer timer;
//  int selectedIndex = 0;
//  PageController controller;
//
//  @override
//  void initState() {
//    super.initState();
////    getNotify();
//  }
//
//  _initPageAutoScroll() {
//    start();
//  }
//
//  @override
//  void didUpdateWidget(PdNotifyWidget oldWidget) {
//    super.didUpdateWidget(oldWidget);
//  }
//
//  start() {
//    stop();
//    timer = Timer.periodic(Duration(milliseconds: widget.duration), (timer) {
//      if(getDataSize() > 0 && controller != null && controller.page != null) {
//        controller.animateToPage(controller.page.toInt() + 1,
//            duration: Duration(milliseconds: 300), curve: Curves.linear);
//      }
//    });
//  }
//
//  stop() {
//    timer?.cancel();
//    timer = null;
//  }
//
//  @override
//  void dispose() {
//    stop();
//    super.dispose();
//  }
//
//  @override
//  Widget build(BuildContext context) {
//    return new Container(
//      height: widget.height,
//      color: Colors.white,
//      padding: EdgeInsets.only(left: Dimens.gap_view_normal, right: Dimens.gap_view_normal),
//      child: Row(
//        mainAxisAlignment: MainAxisAlignment.spaceBetween,
//        children: <Widget>[
//          Image.asset("images/home_icon_news.png", width: 15, fit: BoxFit.contain,),
//          new Expanded(
////            flex: 1,
//            child: Padding(
//              padding: EdgeInsets.only(left: Dimens.gap_view_normal),
//              child: getViewPager(),
//            ),
//          ),
//        ],
//      ),
//    );
//  }
//
//  Widget getViewPager() {
//    return PageView.builder(
//      itemCount: getDataSize() > 0 ? MAX_COUNT : 0,
//      controller: controller,
//      onPageChanged: onPageChanged,
//      itemBuilder: (context, index) {
//        return InkWell(
//            onTap: () {
////              if (widget.onItemClick != null)
////                widget.onItemClick(selectedIndex, datas[selectedIndex]);
//              pushWeb(context, selectedIndex);
//            },
////          child: getSelectedIndexTextWidget(),
//            child: Align(
//              alignment: Alignment.centerLeft,
//              child: getSelectedIndexTextWidget(),
//            ),
//        );
//      },
//    );
//  }
//
//  Widget getSelectedIndexTextWidget() {
//    return getDataSize() > 0 && selectedIndex < getDataSize()
//        ? buildTitle(datas[selectedIndex].title)
//        : Text('');
//  }
//
//  Widget buildTitle(String text){
//    return new Text(
//      text,
//      softWrap: true,
//      maxLines: 1,
//      overflow: TextOverflow.ellipsis,
//      style: TextStyle(
//          color: Colors.black54, fontSize: Dimens.font_sp14, decoration: TextDecoration.none),
//    );
//  }
//
//  onPageChanged(index) {
//    selectedIndex = index % getDataSize();
//    setState(() {});
//  }
//
//  String getUrl(String url){
//    return PdUtil.getFullUrl(url);
//  }
//
//  int getDataSize(){
//    return datas == null? 0 : datas.length;
//  }
//
//  getNotify() async{
//    await new HttpRepository().getNotify(1, 5).then((resp){
//      print("==== notifyList = "+resp.result.toString());
//      setState(() {
//        datas = resp.result;
//        double current = getDataSize() > 0
//            ? (MAX_COUNT / 2) - ((MAX_COUNT / 2) % getDataSize())
//            : 0;
//        controller = PageController(initialPage: current.toInt());
//        _initPageAutoScroll();
//      });
//    });
//  }
//
//  pushWeb(BuildContext context, int index){
//    String url = "";
//    String title;
//    if(datas != null){
//      News news = datas.elementAt(index);
//      if(news != null){
//        title = news.title;
//        url = news.detailUrl;
//      }
//    }
//    NavigatorUtil.pushUrl(context, url: url, title: title);
//  }
//}
//
